Dynamic Views in a Modeling of an Automation System

ABSTRACT

The present disclosure provides a dynamic view in a modeling of an automation system. A first portion of the model may be described in a first sequence description and a second portion of the model may be described in a second sequence description. The sequence descriptions are linked together. In one embodiment, the links are visually provided.

BACKGROUND

In the automation field, and more specifically during operationalmachine planning for a plant, an engineer traditionally creates a modelthat describes the operation a machine or system which will later beinvolved in the plant operation phase. For Example a mechanical model ofa lifting apparatus is illustrated in FIGS. 1A-1H.

Referring to FIG. 1A, the lifting apparatus 100 has securing ends 110,rollers 120, a surface 115, and a lifter 130. The securing ends 110 maymove up and down and are shown in an up position in FIG. 1A. The lifter130 may raise or lower the surface 115 and is shown in a lower levelposition in FIG. 1A. Referring to FIG. 1B, the securing ends 110 aremoved down into a down position. Referring now to FIG. 1C, the rollers120 rotate to convey a parcel 140 onto the surface 115 of the liftingapparatus 100. As shown in FIG. 1D, at a time after the parcel 140 islocated on the surface 115 of the lifting apparatus 100, the securingends 110 are moved up. In particular, the securing ends 110 move fromthe down position to the up position in order to secure the parcel 140onto the lifting apparatus 100. As shown in FIG. 1E, the lifter 130raises the surface 115 from the lower level position to upper levelposition. Referring now to FIG. 1F the securing ends 110 move from theup position to the down position in FIG. 1G, the rollers 120 rotate toconvey parcel 140 off the surface 115 of the lifting apparatus 100.Referring to FIG. 1H, the securing ends 110 are moved up from the downposition to the up position. The lifter 130 lowers the surface 115 fromthe upper level to the lower level as shown in FIG. 1A.

Gantt Charts are commonly used to illustrate a project flow for projectmanagement purposes and to illustrate automation control. In FIG. 2, aGantt chart provides a mechanical model which illustrates a sequenceflow of the mechanical operation of the lifting apparatus of FIGS.1A-1H.

In order to program digital controllers to operate the machines of anautomation system, the mechanical model is traditionally given to anengineer that is familiar with programmable logic controller (PLC)programming. This engineer abstracts the mechanical model and createsthe PLC runtime software that realizes the requirements described in themechanical model.

The abstraction of the mechanical model depends on the programmingmethod the engineer chooses. Examples of methods for programming a PLCinclude Statement List (STL), Ladder Logic, and Step Chain. Programming.In each of these cases, the programming requires a manual abstraction. Amanual abstraction is time consuming and tends to be error-prone.

SUMMARY OF THE INVENTION

An output signal behavior in a modeling of an automation system isdefined in the present disclosure. An electrical sequence flow of theautomation system is displayed, for example, on an electronic displaydevice. The electrical sequence flow includes a plurality of electricalsteps from which an electrical step is identified. In addition, a signalline produced from the electrical step is identified. The identifiedelectrical step and signal line are coupled to indicate that theelectrical step produces the signal line and the display of theelectrical sequence flow include a visual representation of thecoupling. For example, the visual representation of the couplingincludes a line drawn from the identified first electrical step to thesignal line.

A user interface effective to receive input from a user and tographically display the electrical sequence flow on the electronicdisplay device may be provided. Thus, an input may be received via theuser interface as a result of the user identifying the electrical step.Likewise an input may be received from the user interface as a result ofthe user identifying the signal line. The user interface may include amouse such that a user places a mouse cursor over the step and/or signalline and subsequently clicks the mouse in order to identify therespective step and/or signal line. The user interface may include akeyboard having predefined keys assigned to identify the step and/orsignal line.

In one embodiment, the signal line may be altered by the user to setand/or reset at least a portion of the signal line. For example, thereset may be at: the beginning of the identified electrical step, theend of the identified electrical step, the beginning of a furtherelectrical step, or end of the further electrical step. Likewise the setmay be at: the beginning of the identified electrical step, the end ofthe identified electrical step, the beginning of a further electricalstep, or end of the further electrical step.

The present disclosure further provides for altering a modeling of anautomation system to insert a proxy step. At least one valid position inan electrical sequence flow of the automation system in which a proxystep could be inserted into an electrical sequence flow is determined.The electrical sequence flow is displayed, for example, on an electronicdisplay device. The electrical sequence flow pertains to a plurality ofresources and includes a plurality of electrical sequence elements whichmay be, for example, an electrical step or an electrical transition. Theplurality of electrical sequence elements includes a first electricalstep. The electrical sequence flow further includes an icon for each ofthe determined at least one valid position. An icon to be replaced by anew proxy step is identified and subsequently replaced with the newproxy step. Transitions effective for the new proxy step to be parallelto the first electrical step are added and the electrical sequence flowis displayed after the replacing the icon and the adding electricaltransitions.

A user interface effective to receive input from a user and tographically display the electrical sequence flow on the electronicdisplay device may be provided. Thus, an input may be received via theuser interface as a result of the user identifying the icon. The userinterface may include a mouse so that a user places a mouse cursor overthe icon and subsequently clicks the mouse in order to identify therespective icon. The user interface may include keyboard havingpredefined keys assigned to identify the icon.

The adding of the transitions may be achieved by different embodiments.For example the adding the transitions may be automatic or manually. Inone embodiment, the adding the transitions includes adding a firstelectrical transition and an electrical second transition.

The first electrical transition visually connects a second electricalstep to the new proxy step such that the first electrical transition iseffective to transition from the second electrical step to the proxystep. Alternatively, the first electrical transition visually connects aglobal start step to the new proxy step such that the first electricaltransition is effective to transition from the global start step to theproxy step.

The second electrical transition visually connects the proxy step to athird electrical step such the second electrical transition effective totransition from the new proxy step to the third electrical step. Thesecond electrical transition may alternatively visually connects theproxy step to a global end step such that the second electricaltransition effective to transition from the new proxy step to the globalend step.

The second electrical step may be determined by only the time scale orby resource. In one embodiment, the second electrical step isimmediately previous to the proxy step according to a time scale. Inanother embodiment, the second electrical step is immediately previousto the proxy step respective to the resource associated with the newlyadded proxy step. Likewise, the third electrical step may be determinedby only the time scale or by resource. In one embodiment, the thirdelectrical step is immediately after the proxy step according to a timescale. In another embodiment, the third electrical step is immediatelyafter the proxy step respective to the resource associated with thenewly added proxy step.

It is possible to alter a third transition from the first electricalstep. In one embodiment the third transition is altered by changing thethird transition to visually connect the first electrical step to theglobal end step. The third transition is effective to transition fromthe first step to the global end step.

In another embodiment, the third transition is altered from the firstelectrical step by changing the third transition to visually connect thefirst electrical step to a fourth electrical step related, the firstelectrical step and the fourth electrical step associated to a sameresource. The third transition is effective to transition from the firststep to the fourth electrical step.

The proxy step may be deleted after it has been added. In one embodimentthe electric transitions that were added are deleted. Altered electricaltransitions may be altered to be what they were prior to the adding ofthe proxy step. In a preferred embodiment, when the proxy step isdeleted, the sequence flow is place back to how it was prior to theadding of the proxy step in regards to the electrical transitions addedare altered for the adding of the proxy step

The present disclosure further provides a method for replacing amechanical sequence element in a modeling of an automation system. Amechanical sequence flow of the automation system is displayed, forexample, on an electronic display device. The mechanical sequence flowincludes a plurality of mechanical sequence elements which may be, forexample, a mechanical step or a mechanical transition. The mechanicalstep is an action to be performed by a resource and the mechanicaltransition indicates a change of the mechanical sequence flow mechanicalsteps. A mechanical sequence element is identified from the plurality ofmechanical sequence elements. The identified mechanical sequence elementis removed from the plurality of mechanical sequence elements therebyremoving the identified mechanical sequence element from the mechanicalsequence flow. A new mechanical sequence element is received. Themechanical sequence flow is altered by adding the new mechanicalsequence element to the mechanical sequence flow. After altering themechanical sequence flow the mechanical model is displayed.

A user interface effective to receive input from a user may be provided.Thus, an input may be received via the user interface as a result of theuser identifying the mechanical sequence element. The user interface mayinclude a mouse such that the user places a mouse cursor over themechanical sequence element and subsequently clicks the mouse in orderto identify the respective mechanical sequence element. The userinterface may include keyboard having predefined keys assigned toidentify the mechanical sequence element.

A time scale may be included such that each of the plurality ofmechanical sequence element including a starting time and ending time inrespect to the time scale. In one embodiment the starting time and theending time for the mechanical transition is the same.

After removing the identified mechanical sequence element and beforereceiving the input indicating a mechanical sequence element that isnew, the mechanical sequence flow may be displayed. The display mayinclude a gap in display of the mechanical sequence flow. The gap isrelative to the time scale and formed starting at the starting time ofthe identified mechanical sequence element and ending at a time greaterthan the starting time of the gap. The adding the new element to themechanical sequence flow may include adding the new element so that thestart time of the new element is at a time corresponding to thebeginning of the gap. The gap may then be altered in the display suchthat beginning of the gap is at an ending time of the added mechanicalsequence element.

An input may be received via the user interface as a result of the userindicating to finish the mechanical sequence flow. Different types offinishing the mechanical sequence flow may be indicated. For example,the user may indicate to complete the replacing of the mechanicalelement in which case the gap is removed from the display of themechanical sequence flow. Another example may that the user may indicateto cancel the replacing of the mechanical element in which case themechanical sequence flow is restored to comprise the mechanical sequenceelements that existed before the identifying the mechanical sequenceelement from the plurality of mechanical sequence elements and themechanical sequence flow is displayed.

In one embodiment an electrical sequence flow is not displayable afterthe identifying of a mechanical sequence element from the plurality ofmechanical sequence elements until the receiving input from the usereffective to finish the replacing.

The present disclosure further provides a dynamic view definition in amodeling of an automation system. A first sequence description of amodel of the automation system is displayed, for example, on anelectronic display device. The first sequence description includes afirst sequence flow and is contained in a first file. A first object isidentified from the displayed first sequence flow.

A second sequence description of the model of the automation system isdisplayed for example, on the electronic display device. The secondsequence description includes a second sequence flow of the automationsystem and is contained in a second file. The second object identifiedfrom the displayed second sequence flow.

The first sequence description is lined to the second sequencedescription via a first external link in the first file, the linkingafter the identifying the second object. Likewise, the second sequencedescription is linked to the first sequence description via a secondexternal link in the second file, the linking after the identifying thefirst object.

In one embodiment, the first and second sequence flows are mechanicalsequence flows each having a plurality of mechanical steps. Theidentified first object is a beginning of one of the plurality ofmechanical steps in the first sequence flow or an ending of one of theplurality of mechanical steps in the first sequence flow. The identifiedsecond object is a beginning of one of the plurality of mechanical stepsin the second sequence flow or an ending of one of the plurality ofmechanical steps in the second sequence flow. The identified firstobject may be identified as an external transition in and the identifiedsecond object may be identified as an external transition out such thatan external transition is added from the identified first object to theidentified second object.

In another embodiment the first and second sequence flows are electricalsequence flows each having a plurality of electrical steps. The firstobject may be a beginning of one of the plurality of electrical steps inthe first sequence flow or an ending of one of the plurality ofelectrical steps in the first sequence flow and the identified secondobject may be a beginning of one of the plurality of mechanical steps inthe second sequence flow or an ending of one of the plurality ofmechanical steps in the second sequence flow. The identified firstobject may be a one of the plurality of electrical steps, and theidentified second object may be an electrical signal line. The firstobject may be an electrical transition starting from the first sequenceflow and the identified second object may be an electrical signal line.The identified first object may be identified as an external transitionin and the identified second object may be identified as an externaltransition out such that an external transition is added from theidentified first object to the identified second object.

A visual representation of the external link may be provided. The visualrepresentation may be based on the type of external link such as anexternal transition, condition, or a signal.

In one embodiment the displays are separate meaning not concurrent inthe same display. In another embodiment the displays are together in thesame display.

A user interface effective to receive input from a user may be provided.Thus, an input may be received via the user interface as a result of theuser identifying the first and second objects. The user interface mayinclude a mouse such that a user places a mouse cursor over theidentified object and clicks the mouse in order to identify therespective object. The user interface may include a keyboard havingpredefined keys assigned to identify the respective object.

The present disclosure further provides a method for providingalternative paths. A mechanical sequence flow comprising a plurality ofmechanical sequence elements is displayed, for example, on an electronicdisplay device. An alternative section is identified from the pluralityof mechanical sequence elements, the alternative section including anoriginal path. The original path may be defined from mechanical sequenceelements within the alternative section. An alternative path is createdwithin the alternative section

In one embodiment, the identifying of an alternative section includesidentifying a starting point for an alternative section, and identifyingan ending point for the alternative section. The alternative path iscreated starting, from the starting point and ending with the endingpoint. The starting point may be identified from a start or end of oneof the plurality of mechanical sequence elements. Likewise the endingpoint may be identified from a start or end of one of the plurality ofmechanical sequence elements, the ending point occurring after thestarting point relative to a time scale. In one embodiment, thedisplaying of the mechanical sequence flow further comprises a pluralityof symbols each of which represents a starting point. The starting pointmay then be identified from one of the plurality of symbols. In afurther embodiment, the mechanical sequence flow is displayed after thestarting point is identified, the mechanical sequence flow comprises aplurality of symbols each of which represent a ending point. The endingpoint may then be identified from one of the plurality of ending points.A user interface may be provided. The user interface effective toreceive input indicating the identified starting point and inputindicating the identified ending point. The receiving of the input maybe as a result of a user placing a cursor over the respective identifiedpoint and clicking a mouse or the user pressing a predefined keyboardkey.

Input to add one or more mechanical sequence elements the alternativepath may be received.

The display of mechanical sequence flow in response to creating thealternative path may exclude the original path. The displaying of themechanical sequence flow in response to creating the alternative pathmay include a gap in the mechanical sequence flow, the gap relative tothe time scale, the gap formed starting at the starting point of theidentified mechanical sequence element and ending at a time greater thanthe starting time of the gap.

The creating of the alternative path may be finished via input to cancelthe alternative path or to complete the path. In one embodiment, anelectrical sequence flow is not displayable after the creating thealternative path until receiving input from the user effective to finishthe replacing. The electrical sequence flow differentiates thealternative path from the original path.

The present disclosure further provides for altering runtime softwareproduced for at least one PLC in an automation system via a modelingtool. The altering by a split or a merge. A model of an automationsystem includes a mechanical sequence flow for a plurality of resourcesand an electrical sequence flow for the plurality of resources isprovided. Displaying the plurality of resources are displayed, forexample, on an electronic display device. Each of the plurality ofresources is in a first sequence. A resource from the plurality ofresources is identifying to be split from the first sequence. Theidentified resource is removed from the first sequence and added to asecond sequence. Runtime software for the first and second sequence isgenerated after the removing and the adding. The runtime software forthe first sequence controlling resources of the first sequence and theruntime software for the second sequence controlling the resources ofthe second sequence.

The present disclosure further provides a monitoring of an onlineautomation system. The model of the automation system that was used toprogram a PLC in the automation system is displayed, for example, on theelectronic display device. The model may be a mechanical model thatincludes a mechanical sequence flow for at least one resource, themechanical flow comprising a plurality of mechanical elements. Incontrast, the model may be an electrical model that includes anelectrical sequence flow for at least one resource, the electricalsequence flow comprising a plurality of electrical elements.

Input, such as PLC step information, input signal and/or output signal,effective to indicate an execution PLC is received. A visualrepresentation is provided on the display of the model which representsthe execution of the PLC.

In one embodiment, the visual representation includes a lineperpendicular to a time scale and which moves along the time scaleduring the execution. In another embodiment the visual representationincludes color indications of the execution of the PLC. In a furtherembodiment, the visual representation includes a shading or brightnessindication on the display which indicates the execution of the PLC.

In one embodiment input is received via a user interface effective tocontrol the monitoring of the automation system. The input may be forexample, to stop the monitoring of the automation system, to pause themonitoring of the automation system, to record the monitoring of themonitoring system, to playback a recorded monitoring, to resumemonitoring of the automation system. In one embodiment, the control ofthe control of the automation system includes a control of the PLC.

In one embodiment, the monitoring is provided by an arrangement. Thearrangement includes an automation system with a PLC that includes a PLCruntime software. The arrangement further includes a modeling systemthat includes a CPU, a memory, a program that executes on the CPU andwhich monitors the automation system, the created model stored in thememory and used to create PLC runtime, and a user interface effective toreceive input from a user and to display the created model. Input isreceived effective to indicate an execution of the PLC. A visualrepresentation based on the received input is provided on the display ofthe model which represents the execution of the PLC.

In one embodiment, a data adapter device is provided to convertinformation from the PLC to a format usable by the monitoring program.The data adapter may be coupled to the automation system and themodeling system. The data adapter translates a runtime information fromthe PLC to the information effective to indicate an execution of thePLC.

After the modeling is completed, runtime software for a programmablelogic controller may be produced from the model. The created runtimesoftware may then be downloaded to the PLC via the network.

BRIEF DESCRIPTION OF THE DRAWINGS

The above mentioned and other concepts of the present invention will nowbe described with reference to the drawings of the exemplary andpreferred embodiments of the present invention. The illustratedembodiments are intended to illustrate, but not to limit, the invention.The drawings contain the following figures, in which like numbers referto like parts throughout the description and drawings wherein:

FIGS. 1A-1H illustrates a sequence flow of the mechanical operation fora lifting apparatus.

FIG. 2 illustrates the sequence flow of the mechanical operation ofFIGS. 1A-1H according to a Gantt chart.

FIG. 3 illustrates an exemplary system according in accordance with thepresent disclosure.

FIG. 4A-4E illustrate an exemplary mechanical model in accordance withthe present disclosure.

FIGS. 5A-5C illustrate an exemplary user interface using graphical toolsin accordance with the present disclosure.

FIGS. 6A-6K illustrate an exemplary electrical model in accordance withthe present disclosure.

FIGS. 7A-7J illustrates an exemplary modeling of output signals andactuator in accordance with the present disclosure.

FIGS. 8A-8G illustrates exemplary modeling of proxy steps in theelectrical model in accordance with the present disclosure.

FIGS. 9A-9F illustrates exemplary replacement steps in accordance withthe present disclosure.

FIGS. 10A-10I illustrate exemplary alternative paths in accordance withthe presented disclosure.

FIGS. 11A-11M illustrates exemplary dynamic views in accordance with thepresent disclosure.

FIGS. 12A-12F illustrate exemplary split and merge in accordance withthe present disclosure.

FIGS. 13A-13H illustrates an exemplary monitoring of the automationsystem in accordance with the present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

In one aspect of the present disclosure, an improved method of modelingan automation system is provided. Another aspect of the presentdisclosure is directed to an improved mechanical model of the automationsystem. Yet another aspect of the present disclosure is directed to animproved mechanical sequence flow of the automation system. Stillanother aspect of the present disclosure is directed to an improvedelectrical model of the automation system. A further aspect of thepresent disclosure is directed to an improved electrical sequence flowof the automation system. Yet a further aspect of the present disclosureis directed to an improved method to monitor an automation system.

The present disclosure is described in context of the automation systembeing a lifting apparatus. The principles of the present disclosure,however, are not limited to use within a lifting apparatus but may beapplied to other machines and systems in an automation system.

The present disclosure is described in context of identifying orselecting an object by using a mouse as a user interface and placing amouse cursor on an object displayed on the electronic device. However,it would be understood that other user interfaces to provide input couldbe used such as touchscreen, gesture recognition system, keyboard,joystick, and the like). The term “object” refers to GUI tool, signalline, condition, modeling data, mechanical transition, electricaltransition, mechanical element and/or electrical element. The term“mouse cursor” refers to a visual icon on the display which is movableon the electronic display device by moving the mouse. The mouse cursoris commonly represented as an arrow or a hand but may be represented byany icon. It would be understood, that placing a mouse cursor “on”object would include directly on as well as an area surrounding theobject in close enough proximity to the object that the object may beuniquely identified by proximity to the mouse cursor. It would also beunderstood that using a mouse cursor is merely an example and othermeans may be used to identify and/or alter the objects.

The present disclosure is described in terms of a time scale, amechanical sequence flow and an electrical sequence flow being displayedin a horizontal fashion with the time scale increasing in the rightdirection. It would be understood that the time scale could increase inthe left direction or that the electrical sequence flow could be in avertical fashion with the time scale increasing in the up or downdirection.

The present disclosure is described in terms of one or more XML fileswhich include the modeling of the automation system. One skilled in theart would recognize that other means may be used. For example, anydatabase format such as relational, hierarchical and network may beused. Furthermore, a flat file may be used. However, since XML isextensible and self describing database it is particularly useful indescribing modeling data.

The present disclosure is described in terms of monitoring theautomation system via the electrical sequence flow used to create thePLC runtime software for the automation system. It would be understoodthat the sequence view of mechanical sequence flow used to create thePLC runtime software for the automation system could be used to monitorthe automation system.

FIG. 3 illustrates a system 300 according to an exemplary embodiment ofthe present disclosure. As shown in FIG. 3, the system 300 includes acomputing device 310 that may be connected to one or more PLCs 360 overa wired or wireless network 305.

The computing device 310, which may be a portable or laptop computer ora mainframe or other computer configuration, includes a centralprocessing unit (CPU) 325 and a memory 330

The CPU 325 executes a program 320 as a modeling tool and/or monitoringtool to facilitate the methods described herein. The memory 310 includesa random access memory (RAM) 335 and a read-only memory (ROM) 340. Thememory 330 may also include a database, disk drive, tape drive, and thelike or a combination thereof. The RAM 335 functions as a data memorythat stores data used during execution of a program 320 in the CPU 325and is used as a work area. The ROM 340 functions as a program memoryfor storing the program 320 executed in the CPU 325. The program 320 mayreside on the ROM 340 or on any other computer-usable medium as computerreadable instructions stored thereon for execution by the CPU 325 orother processor to perform the methods of the present disclosure.

A user interface 375 may be coupled to the computing device 310. Theuser interface 375 may include, for example, an electronic displaydevice, and input interfaces such as the GUI tools, a mouse and akeyboard. An electronic display device is a device which renders a twoor three dimension display. For example, the electronic display devicemay be a liquid crystal display (LCD), cathode ray tube (CRT) display,printer, and the like. One skilled in the art would recognize that otheruser interfaces may be used. For example, a touch screen display device.

The operation of the system 300 may be controlled via the user interface375. For example, the user interface 375 may be part of an operator'sconsole which communicates with the computing device 310 and through anetwork, a bus or other means.

In one embodiment, the program 320 automatically generates at least oneXML file 382 to include the modeling information.

In one embodiment, the program 320 automatically generates PLC runtimesoftware 380 for the PLC 360 from at least one of the models describedbelow. The PLC runtime software 380 may then be stored in memory 330.The PLC(s) 360 may programmed with the PLC runtime software 380 via thenetwork 305,

Mechanical Model

FIGS. 4A-4E illustrates an exemplary modeling tool that facilitatesmodeling of an automation system. Referring to FIG. 4A, the modelingincludes a mechanical model 400 which illustrates the sequence flow ofthe mechanical operation of the automation system. In FIG. 4A, theexemplary mechanical model 400 visually represents the sequences ofFIGS. 1A-1H for the lifting apparatus. The mechanical model 400, whichis displayed on an electronic display device, may include a graphicaluser interface (GUI) tools 405, a table view 410 and a sequence view 420of the mechanical operation.

Referring to FIG. 4B, the table view 410 contains modeling data arrangedin a tabular format. The modeling data may include resource 412,actuator 413, signal out 414, action 415, signal in 415, and position418.

A resource 412 represents a specific hardware device of the automationsystem. In the exemplary embodiment illustrated in FIG. 4B, a pluralityof resources 312 are provided which include a lifter, securing ends, androllers.

An action 415 may be defined for each resource 412. An action 415describes a possible behavior of the resource 412, which may be used toperform a mechanical operation in the mechanical model 400.

Each action 415 may be associated with a position 418, which mayidentify a physical start position for the action 400. As illustrated,the lifter has the actions raise and lower which describe the behaviorof the lifter as a movement of the lifter. The raise action isassociated with the lower level position since the lifter is raisedstarting from the lower level position to the upper level position. Thelower action is then associated with the upper level position since thelifter is lowered starting from the upper level position to the lowerlevel position. The securing ends have the actions up and down thatdescribe the movement of the securing ends which may move up from a downposition and down from an up position. The rollers have the actionconveys to describe the behavior of the rollers. Unlike the lifter andthe securing ends, the position of the rollers identifies a conditioninstead of a physical start position. The positions of the rollers aretrue and false. For the rollers to convey the parcel, the position istrue. Additional actions may also be included for the roller in whichthe actions would also have a condition of true. It would be understoodthat true and false are merely used by way of an example and the namesof the position may be altered. Furthermore, a time value which definesthe duration of the action may be associated with an action. Forexample, the up action for the securing ends is associated with a timeof 3 seconds.

In the simplest form, the mechanical model 400 only identifies the startand end positions or a condition defining a change in behavior. Theexact physical behavior between the start and end positions, includingintermediate positions, velocity and acceleration, is not described inthe simplest case.

The actuator 413, signal out 414, signal in 416 are described in moredetail with the Electrical Model.

A designer may alter the modeling data in the table view 410 via theuser interface 375. The term “alter” and its derivatives means add,change, and/or delete. A designer is a user of the modeling tool. Anexemplary embodiment of altering the data in the table view 410 isdescribed in FIGS. 5A-5C. Referring to FIG. 5A, a designer may add aresource 412 by placing the mouse cursor over the resource GUI tool405(a) and clicking the mouse. Now referring to FIG. 5B, after theresource 412(a) has been added, a designer may then alter the attributesof the resource 412(a) via an input interface by placing the mousecursor over the newly added resource 412(a) and clicking the mouse sothat a GUI tool 405 is provided. As illustrated, a menu 405(b) isprovided to alter the resource 412(a). Examples of resource attributesmay be a name of the resource and a description of the resource. FIG. 5Cshows resource 412(a) after having altered the name of to resource412(a) to lifter.

The GUI tools 405 may be used to alter the mechanical model 400 example,such as the modeling data in the table view 410 and or the mechanicalsequence flow of the mechanical operation in the graphical view 430. Oneskilled in the art would realize that other graphical user interfacesmay be used to alter the mechanical model 400. Other GUI means such asdrop down boxes, drop and drag may be used.

FIG. 4C illustrates an exemplary sequence view 420 of the mechanicaloperation. As illustrated in FIG. 4C, the sequence view 420 of themechanical operation, may include a timescale 422 and at least onsequence description 442. Each sequence description 442 uses the singletime scale 422

Each sequence description 442 includes one or more subspaces 440. Eachsubspace describes mechanical information for a resource. Furthermore, asequence description 442 may include a sequence description header 438.Preferably the sequence header is numeric text but any delineation maybe used. The sequence descriptions are described below in more detail.

FIG. 4D illustrates an exemplary subspace 440. Referring to FIG. 4D, thesubspace 440, may include a subregion 424 for defining the mechanicalpositions of the resource as positions on a vertical axis and asubregion 444 for depicting the sequences information of the operationfor the resource.

Now referring to FIG. 4E, the exemplary sequence view 420 of themechanical operation, as shown in FIG. 4C, includes a time scale 422, asequence description header 438, mechanical positions 424 and graphicalview 430. In the present embodiment, the time scale 422 is shown inseconds. One skilled in the art would recognize that a time scale 422using a unit other than seconds may be used, for example, minutes ormicroseconds. The exemplary sequence view 420 shows a single sequencedescription header 438 with the name “Lifting Apparatus”. The positions424 represent the positions 418 contained in the table view 410. Inanother embodiment, only a single representation of the positions isdisplayed in either the table view 410 or in the sequence view 420.

The graphical view 430 visually illustrates the sequence flow of themechanical operation for the automation system. In order to describe themechanical operation of the automation system, the graphical view 430would include all of the sequence information 444 for each of thesubspaces 440. However, the graphical view 430 may include a portion ofthe mechanical operation. The mechanical sequence flow is formed bymechanical elements such as mechanical steps 432 and mechanicaltransitions 434. The mechanical step 432, in the graphical view 430, isthe performance of the action 415 from the table view. Each mechanicalstep 432 has a starting time and an ending time. Mechanical step 432(a)starts at time 0 and ends at 3 seconds and visually shows the securingends being moved from a starting position of up to an ending position ofdown.

A designer may add mechanical steps 432 via the user interface. In oneembodiment the designer may click at the start position of themechanical step 432 and click again at the end position of themechanical step 432. Accordingly, the mechanical step 432 is visuallyadded based on the start and end positions. Furthermore, the mechanicalstep 432 may include attributes of the action associated with themechanical step. For example, the time to perform the mechanical stepmay automatically be included and illustrated via the time scale. Oneskilled in the art would recognize other interfaces may be used. Forexample, the electronic display device may have a touch sensor so thatthe designer may draw the mechanical step 432.

Changing from a mechanical step 432 of one resource to a mechanical step432 is called a mechanical transition 434. The starting time and theending time for a mechanical transition between different resources isthe same. At time 3 a mechanical transition 434(a) occurs frommechanical step 432(a) to mechanical step 432(b) which shows that therollers convey the parcel at time 3.

A designer may alter mechanical transitions 434 via the user interface.In one embodiment, the designer may only alter a mechanical transition434 that transitions between different resources. In one embodiment thedesigner may click at the end position of a first mechanical step 432and click again at the end position of a second mechanical step 432. Amechanical transition 434(b) occurs from mechanical step 432(b) tomechanical step 432(c) which shows that the securing ends being movedup. A mechanical transition 434(c) occurs from mechanical step 432(c) tomechanical step 432(d) which shows the lifter is raised to the upperposition. A mechanical transition 434(d) occurs from mechanical step432(d) to mechanical step 432(e) which shows the securing ends beingmoved down. A mechanical transit on 434(e) occurs from mechanical step432(e) to mechanical step 432(f) which shows that the rollers convey theparcel. A mechanical transition 434(f) occurs from mechanical step432(f) to mechanical step 432(g) which shows the securing ends beingmoved up. A mechanical transition 434(g) occurs from mechanical step432(g) to mechanical step 432(h) which shows the lifter is lowered tothe lower position. At the end of mechanical step 432(g), the liftingapparatus is in the original state of time 0.

Connecting the mechanical steps of a resource are mechanical waitingperiods 436. The mechanical waiting periods 436 visually represent thatan action is not being performed on the resource. The mechanical waitingperiods are not necessary to visually illustrate the mechanical sequenceflow and thus may be excluded.

Electrical Model

In addition to modeling the mechanical operations, the modeling toolfacilitates the modeling of the electrical operations of the automationsystem. The electrical model facilitates defining the interactionsbetween input signals and/or output signals and a resource.

Referring, to FIG. 6A, the exemplary electrical model 600 describes asequence flow of the electrical operation. In FIG. 6A the exemplaryelectrical model 600 corresponds to the mechanical model of FIG. 4. Theelectrical model 600, which is displayed on the electronic displaydevice, may include GUI tools 605, a table view 610 and a sequence view620 of the electrical operation.

Referring to FIG. 6B, the table view 610 contains modeling data arrangedin a tabular format. The modeling data may include resource 612,actuator 613, signal out 614, action 615, signal in 616, and position618. In the exemplary illustration of FIG. 6B, the table view 610includes the modeling data from the table view 410 of the mechanicalmodel 400. For example, the actions 615(a), 615(b), 615(c) 615(d) and615(e) correspond to the actions 415(a), 415(b), 415(c) 415(d) and415(e) respectively. It would be understood that modeling data alteredin the table view 610 of the electrical model 600 may then be part ofthe table view 410 in the mechanical model 400. However, one skilled inthe art would recognize that some modeling data may only apply to themechanical view 400 and not the electrical view 600 and vice versa.Thus, it may be necessary and/or desirable that the table view 410 ofthe mechanical model 400 differ from the table view 610 of theelectrical model 600.

The signal in 616 refers to an input signal to be delivered to the PLC.The input signal may be generated from a device such as a sensor. Forexample, a light barrier sensor may be used to detect if a resource hasreached its end position. An input signal is associated with a resource612. In the exemplary illustration of FIG. 6B, signal in 616(a) andsignal in 616(b) are associated to the lifting apparatus and signal in616(c) and signal in 616(d) are associated to the securing ends. Itwould be understood by those skilled in the art that a resource does notrequire an input signal. For example, in the exemplary embodiment, therollers do not include a signal in 616.

Signal in 616(a′), 616(b′), 616(c′) and 616(d′) may be used as anadditional representation or an alternative representation of signal in616(a), 616(b), 616(d) and 616(e) respectively. In the exemplaryillustration of FIG. 6B, signals 616(a′)-616(d′) are used in conjunctionwith the visual representation of the signal in the sequence view 620 ofthe electrical operation.

FIG. 6C illustrates an exemplary sequence view 620 of the electricaloperation. As illustrated in FIG. 6C, the sequence view 620 of theelectrical operation, may be divided include a timescale 622 and atleast on sequence description 642. Each sequence description 642 usesthe single time scale 622.

Each sequence description 642 includes one or more subspaces 640. Eachsubspace describes electrical information for a resource. Furthermore, asequence description 642 may include a sequence description header 638.Preferably the sequence header is numeric text but any delineation maybe used. The sequence descriptions are described below in more detail.

FIG. 6D illustrates an exemplary subspace 640. Referring to FIG. 6D, thesubspace 640, may include a mechanical region 642 and may include anelectrical region 646. The mechanical region 642 includes a subregion624 for defining the mechanical positions of the resource as positionson a vertical axis and a subregion 544 for depicting the sequencesinformation of the operation for the resource. The electrical region 646includes a subregion 647 for defining the electrical signals of theresource as locations on a vertical axis, and a subregion 648 fordepicting the signal information for the resource.

FIG. 6E illustrates the exemplary sequence view 620 of the electricaloperation in more detail. FIG. 6E describes the sequence view 620 of theelectrical operation which corresponds to the mechanical model describedin FIG. 4. The sequence view 620, as shown in FIG. 6E, includes the timescale 622 positions 624 and graphical view 630. In the exemplaryembodiment the positions 624 at least includes the positions 424 definedin the mechanical model 300.

The graphical view 630 visually illustrates the electrical sequence flowof the electrical operation. The electrical sequence flow includeselectrical elements such as electrical steps 632 and electricaltransitions 634. Changing from one electrical step 632 to anotherelectrical step 632 is called an electrical transition 634. Anelectrical transition defines a dependency between the movement of adevice and the state of an input signal and/or and output signal. Theelectrical transition visually connects the electrical step 632 beingtransitioned from, to the electrical step 632 being transitioned to.

As illustrated, an electrical step 632 may have a correspondingmechanical step 432. Likewise, an electrical transition 634 may have acorresponding mechanical transition 434.

In a preferred embodiment, the electrical sequence flow of theelectrical model is automatically generated from the mechanical model.In the simple case, preferably an electrical step is automaticallycreated for each mechanical step and an electrical transition is createdbased on each mechanical transition. In the case of more complex models,such as using proxy steps, split and merge as described below, thegeneration of the electrical sequence flow may be more complex.

An electrical step 632 may have various attributes assigned to it. Forexample a waiting time and a watchdog time and an error state time. Inone embodiment the waiting time and watchdog time are automaticallygenerated, preferably using the time value of an associated mechanicalstep 432.

The waiting time is defined as the minimum amount of time the electricalstep 632 must take, regardless of how long the mechanical step 432actually takes to execute. For example, if the mechanical step 432completed in less time than the waiting time, a transition to the nextmechanical step 432 could not be triggered until the end of the waitingtime. In contrast, the watchdog time is defined as the maximum amount oftime the mechanical step 432 can take before transitioning to an errorstate. Therefore, the watchdog time must be at least the amount of timecorresponding to the mechanical step otherwise a transition to the errorstate will always occur. The waiting time and watchdog time arediscussed in more detail below in regards to monitoring via the visualmodel.

The electrical sequence flow may be altered by a designer. In theexemplary embodiment, the mechanical sequence flow of electricaloperation is superimposed over the mechanical sequence flow of themechanical operation. As such, the mechanical steps 432 and mechanicalwaiting periods 436 are shown in the subregion 644 for depicting thesequences information. The superimposing allows the designer tovisualize both the electrical sequence flow of the electrical operationand the mechanical operation simultaneously which may make it easier forthe designer to make necessary alterations to the electrical model 600.One skilled in the art would recognize that the electrical sequence flowof the electrical operation may be displayed without being superimposedover the mechanical sequence flow of the mechanical operation.

FIG. 6F describes further details of the electrical sequence flow of theelectrical operation in which each signal in 616 from FIG. 6B isdisplayed graphically as a signal line 650. Each signal line 650 isgraphically displayed in the subregion 648 for depicting the signalinformation.

A signal line 650 may include states 652 and state transitions 654. Astate transition 654 indicates where a state of the pulse changes toanother state. For example, the signal line may include state transition654 from a low state 652(a) to a high state 652(b). One skilled in theart would recognize that exemplary illustration of the low state beingvisually lower in a vertical direction than the high state is merely arepresentation and the visualization may be reversed such that the highstate is visually lower or the states may be represented in directionsother than horizontal.

In one embodiment, the signal line 650 is automatically generated. Inanother embodiment the signal line 650 is input by the designer. Ineither case, it is preferable if the signal line 650 may be altered bythe designer. The altering of the signal line 650 includes altering thestates and/or state transitions of the signal line.

The signal line 650(a) corresponds to the lifter_upper signal in 616(a′)of the lifting apparatus in FIG. 6B. Signal line 650(a), which isprovided by a sensor, includes a state transition 654(a) from “low”state 652(a) to “high” state 652(b) which occurs after the sensordetects that the lifting apparatus is moved from the lower level to theupper level. Signal line 650(a) further includes a state transition654(b) from high state 652(b) to low state 652(c) which occurs after thesensor detects that the lifting apparatus is moved from the higher levelto the lower level.

The signal line 650(b) corresponds to the lifter lower signal in 616(b′)of the lifting apparatus in FIG. 6B. Signal line 650(b), which isprovided by a sensor, includes a state transition 654(c) from low state652(d) to high state 652(e) which occurs after a sensor detects that thelifting apparatus is moved from the higher level to the lower level.

The signal line 650(c) corresponds to the securing_ends_down signal in616(c′) of the lifting apparatus in FIG. 6B. Signal line 650(c) includesstate transition 654(d), 654(f) from low state 652(f), 652(h) to highstate 652(g), 652(i). The state transition 654(d), 652(f) occurs afterthe securing ends are moved from the up position to the down position.Signal line 650 (c) includes state transition 654(e), 654(g) from highstate 652(g), 652(i) to low state 652(h), 652(j). The state transition654(e), 654(g) occurs after the securing ends are moved from the downposition to the up position.

The signal line 650(d) corresponds to the securing_ends_up signal 616 in(d′) of the lifting apparatus in FIG. 6B. Signal line 650 (d) includesstate transition 654(h), 654(j) from high state 652(k), 652(m) to lowstate 652(l), 652(n). The state transition 654(h), 654(j) occurs afterthe securing ends are moved from the up position to the down position.Signal line 650(d) includes state transition 654(i), 654(k) from lowstate 652(l), 652(n) to high state 652(m), 652(o). The state transition654(i), 652(k) occurs after the securing ends are moved from the downposition to the up position.

It would be understood that the specific input signals above are merelyillustrative for the lifting apparatus. In some cases, a single inputsignal could replace multiple input signals or that more input, signalsmay be required.

FIG. 6G illustrates other details of the electrical sequence flow. Insome case one or more conditions must be net in order for an electricaltransition 634 to occur. A condition is the logical state of anassociated input signal or output signal. The condition 660 may beincluded before or after an electrical step 632. If the condition 660 isincluded prior to the electrical step, then the condition 660 must bemet in order to transition to the electrical step 632. Likewise, if thecondition 660 is included after the electrical step, then the conditionmust be met in order to transition from the electrical step 634. Thecondition 660 is based on one or more input signals.

In the exemplary illustration of FIG. 6G, for the electrical transition634(a) to occur condition 660(a) must be met. The condition 660(a) isvisually coupled to the high state of signal line 650(d). The high stateof the signal line 650(d) occurs when a sensor of the securing endsdetects that the securing ends are in the up position. Thus, in orderfor the electrical transition 634(a) to occur, a sensor of the securingends must detect that the securing ends are in the up position. Theelectrical step 632(a) is complete after the condition 660(b) is met.Condition 660(b), which is visually coupled to the high state of signalline 650(c), is met when a sensor of the securing ends detects that thesecuring ends are in the down position. After the condition 660(b) ismet, the electrical transition 634(b) occurs in order to transition toelectrical step 632(b).

Conditions 660 may be altered by the designer. For example, a newcondition may be added by way of altering a statement for the electricaltransition 634. The designer may identify the electrical transition634(b) to be altered to include the new condition by placing the mousecursor on the electrical transition 634(b) and clicking the mouse. FIG.6H illustrates a GUI tool 605(a) to alter the statement for electricaltransition 634(b). GUI tool 605(a) illustrates a drop down 662 that maybe identified to alter the statement.

FIG. 6I illustrates a further GUI tool 605(b) that includes thestatement 663(a) of the electrical transition 634(b). As shown by FIG.6I, the transition occurs if the single condition 660(b) is met basedwhich indicates that the securing ends are in the down position.

FIG. 6J shows an exemplary alteration of the statement 663(a) of theelectrical transition 634(b) as illustrated in FIG. 6I into statement663(a′) of the altered electrical transition 634(b′). The alteredelectrical transition 660(b′) shows that transition is based on multiplesignal lines. The transition occurs when the condition 660(b) whichindicates the securing ends are in the down position and the condition660(h) which indicates the lifter is not in the upper position are bothmet.

FIG. 6K illustrates graphically how the altered electrical transition660(b′) is based on the multiple conditions 660(b) and 660(h).

Although the alteration of electrical transition 634(b) was described interms of a particular GUI tool 605(a) and 605(b), one skilled in the artwould recognize that electrical transition 634(b) could be altered usingdifferent GUI tools 605 or other means. For example, the designer could“draw” the new part of the condition. The drawing may be by achieved viaa touch screen or by placing the mouse cursor on the signal linecorresponding to the state for the condition and clicking the mouse andalso placing the mouse cursor on the transition and clicking the mouse.

Referring back to FIG. 6B, the signal out 614 describes an output signalproduced by the PLC. The signal out 614 may be delivered to a devicesuch as an actuator 613. The device may then be used to actuate aresource of the automation system. The output signal is associated witha resource 612. It would be understood by those skilled a resource doesnot require a signal out 614.

FIG. 7A illustrates a display of an exemplary table view 610 of theelectrical model 600 in which a signal out 614 has not been added. Inorder to add the signal out 614, a designer may use a user interfacesuch as the GUI tools 605.

The signal may include attributes which are preferably alterable by thedesigner. FIG. 7B illustrates a display of an exemplary GUI tool 605(c)in which the designer may alter attributes for the signal. For example,the designer may specify the resource 612 that the signal is associatedwith, a symbolic address name 714, a signal type 716, assigned toinformation 718, inverted 720, and description information 722. In theillustrated embodiment, a single GUI tool 605(c) is provided whichfacilitates altering a signal in 616 and a signal out 614. However, oneskilled in the art would recognize that separate GUI tools 605 may beused.

The symbolic address name 714 is a name that the designer may assign tothe signal. The symbolic address name 714 is associated to a physicaladdress in order to deliver the signal. The association may be providedvia a symbolic, list file. The designer may alter the symbolic list fileto alter an association and/or physical address.

The signal type 716 indicates if the signal is an input signal or anoutput signal. In the exemplary illustration the type “actuator” is usedfor an output signal and the type “sensor” is used for an input signal.The assigned to information 718 indicates if the signal is assigned to aposition of the resource 612. A signal line 650 associated with thesignal may be altered with the inverted 720 attribute as described inmore detail below. The description 722 field may be altered to include atext description of the sensor.

FIG. 7C illustrates a display of an exemplary table view 610 showingthat signal out 614(a) is added with the symbolic name “Convey Right”for the roller resource. FIG. 7D illustrates the sequence view 620 witha signal line 650(d) that is associated with the signal out 614(a).Signal line 650(d) is displayed in the subregion 648(c) and is used toconvey a parcel in the right direction. Preferably the signal line650(d) is automatically generated and displayed after the signal out 614is added. The illustrated signal line 650(d) is in a continuous lowstate. The inverted 720 attribute would invert the signal line 650(d) toa continuous high state.

In order to define the output signal behavior, an electrical step mustbe identified as well as a signal line of an output signal. Theelectrical step may be identified via an input interface by designerplacing the mouse cursor on electrical step 632(b) and clicking themouse to identify electrical step 632(b). The signal line 650(d) may belikewise identified. After the electrical step 632(b) and the signalline 650(d) are identified they are coupled together to define theoutput signal behavior. It would be understood by those skilled in theart that an electrical step may be coupled to multiple signal lines.

FIG. 7E is an exemplary display of the sequence view 620 with theelectrical step 632(b) and the signal line 650(d) being visually coupledtogether via a line 730(a). The signal line is set to the high statefrom the low state at the beginning of the electrical step 632(b) andthen is reset at the end of the electrical step 632(b).

FIG. 7F is a further exemplary display of the sequence view 620 showingelectrical 632(f) also being visually coupled to signal line 650(d) vialine 730(b). In addition, FIG. 7F shows that the signal line 650(d) isinverted.

The designer may alter the signal line 650 to be “set” or “reset” via auser interface. FIG. 7G illustrates that the signal line 650(d) may beset at the beginning of an electrical step 632(b) and reset at thebeginning of a different electrical step 632(f). FIG. 7H illustratesthat the signal line 650(d) may be set at the beginning of an electricalstep 632(b) and reset at the end of a different electrical step 632(f).One skilled in the art would recognize that the of setting and resettingthe signal line 650(d) has other possibilities, for example, the signalline 650(d) might be set at the end of an electrical step 632.

It would be understood by those skilled in the art that an electricalstep 632 may be coupled to multiple signal lines. As described aboveelectrical step 632 facilitates output signals to be produced and/orinput signals to be received.

FIGS. 7A-7H illustrated an output signal without specifying a specificdevice, such as an actuator, in which the output signal is associated.An actuator 613 may be added using a GUI tool 605 similar to that ofFIG. 7A. Also similar to the signal, the actuator may include attributeswhich are preferably alterable by the designer.

FIG. 7I illustrates a display of an exemplary GUI tool 605(e) in whichthe designer may alter attributes for the actuator. For example, thedesigner may specify the resource 612 that the actuator is associatedwith, a name 734, and actuator type 736, and description information732. It would be understood that other attributes may be applicable suchas the output signal.

Similar to the output signal, the actuator name 734 may be associated toa physical address in which the association may be provided via analterable symbolic list file. However, the actuator name 734 may justprovide a reference for the designer in order to associate the actuatorwith the output signal.

In the exemplary illustration the actuator type 736 “movement” is usedto indicate the actuator facilitates a movement of the associatedresource 612. The description 732 field may be altered to include a textdescription of the sensor.

FIG. 7J illustrates a display of an exemplary table view 610 of theelectrical model in which an actuator 613(a) has been added with a nameActuator_1. The actuator 613(a) is associated to signal out 614(a′) isassociated with a designer may use a user interface such as the GUItools 605.

Proxy Step

Each of the electrical steps 632 described above corresponded to amechanical step. However, it may be desirable in the modeling to definean electrical step not related to a mechanical step. An electrical stepnot related to a mechanical step is referred to as a proxy step. Theproxy step may be executed in parallel to other electrical steps.

FIGS. 8A-8G are used to describe proxy steps an electrical model of asimplified automation system. The exemplary electrical model of FIGS.8A-8G are superimposed over a mechanical sequence flow of the mechanicaloperation.

FIG. 8A illustration an exemplary electrical model showing possibleinsertion points for a proxy step. Valid positions for each possibleproxy step for the electrical model are determined. Positions for proxysteps may be located, relative to the time scale where waiting periodsoccur in the mechanical model. The illustrated display of the electricalmodel includes an icon 830 for each valid position where a proxy stepmay be inserted. Icon 830(a) occurs at a waiting period for resource 2and icon 830(b) occurs at a waiting period for Resource_1. FIG. 8A alsoillustrates a global start step 831 and a global end step 832. Theglobal start step 831 is the starting point of the operation of theautomation system. Like wise, the global end step 832 is the endingpoint of the operation of the automation system. It would be understoodthat once the global end step 832 is reached that the operation wouldresume from the global start step 831.

FIG. 8B illustrates an exemplary electrical model with a newly insertedproxy step 830. The designer may identify one of the valid positions forthe proxy step to be inserted using a user interface. For example, thedesigner may place the mouse cursor on the icon 830(a) and click themouse. A new proxy step 832(a) is inserted at the position of icon830(a) and the icon 830(a) is removed from the display. Thus, the icon830(a) is effectively replaced by the new proxy step 832(a). At thispoint electrical transitions 634 to or from the newly inserted proxystep 832(a) do not exist.

FIG. 8C illustrates an exemplary electrical model with an electricaltransition 634 added to the newly inserted proxy step 830. Electricaltransition 634(ad) is added from the global start step 831 to the newlyinserted proxy step 832(a). FIG. 8D illustrates an exemplary electricalmodel with an electrical transition 634 added from the newly insertedproxy step 830. Electrical transition 634(ae) is added from newlyinserted proxy step 832(a) to the electrical step 632(ab). The addedelectrical transitions 634(ad) 634(ae) effectively set the newlyinserted proxy step 832(a) to be parallel relative the electrical step632(aa). In order for the electrical step 632(aa) and the newly insertedproxy step 832(a) to be parallel, at least a portion of the newlyinserted proxy step 832

It may be desirable to alter the transition 634(ab) from parallelelectrical step 632(aa). FIG. 8E illustrates an exemplary alteration ofthe transition 634 from the parallel electrical step 632(aa). As shownin FIG. 8E transition 634(ab) is altered to transition 634(ab′).

In one embodiment, the adding the transitions is done automatically bythe modeling tool. In another embodiment, the designer must manuallyinput the transitions. In yet another embodiment, the transitions areadded automatically but the designer may manually alter the addedtransitions. Similarly, in one embodiment, the altering of thetransition is done automatically by the modeling tool. In anotherembodiment the designer must manually input the transition. In yetanother embodiment the transition is automatically altered but thedesigner may manually alter the altered transition.

FIG. 8F illustrates an exemplary electrical model with newly insertedproxy step 832. The newly inserted proxy step 832(b) is intended to beparallel to electrical step 632(bc). In order for the proxy step 832(b)to be parallel to electrical step 632(bc) transitions to and from theproxy step 832(b) must be added.

The determination of automatically adding the transitions is describedin the FIG. 8F-FIG. 8I—describes a first embodiment.

FIG. 8G illustrates an exemplary electrical model with the addedtransitions 634(bf)-634(bg) based on the time scale. According to theembodiment illustrated by FIG. 8G, the transition 634 to the proxy step832 is determined based on the electrical step 832 which immediatelyprecedes the proxy step 832 relative to the time scale. Since electricalstep 632(bb) precedes proxy step 832(b) relative to the time scale,transition 634(bf) was added in order to transition from electrical step632(bb) to the proxy step 832(b). If an electrical step 832 does notprecede the proxy step 832, the transition 634 may be added from theglobal start step 831 to the proxy step 832.

According to the embodiment illustrated by FIG. 8G, the transition 634from the proxy step 832 is determined based on the electrical step 832which immediately follows the proxy step 832, relative to the timescale, the proxy step 832. Since electrical step 632(bd) follows proxystep 832(b) relative to the time scale, transition 634(bg) was added inorder to transition from proxy step 832(b) to electrical step 832(bd).If an electrical step 832 does not follow the proxy step 832, thetransition 634 may be added from the proxy step 832 to the global endstep 833.

FIG. 8H illustrates an exemplary electrical model with an alteredtransition from the parallel electrical step. As previously stated, itmay be desirable to alter the transition for the parallel electric step832. In the exemplary illustration, the transition 834(bd) from theparallel electric step 834(bc) is altered. The transition 834(bd) may bealtered to the following electrical step 832 having the same resource asthe parallel electric step 834(bc). If an electrical step 832 having thesame resource as the parallel electric step 834(bc) does not exist, thetransition 634 may be altered to the global end step 833 as illustratedby transition 834(bd′) in FIG. 8H.

FIG. 8I illustrates an exemplary electrical model with the addedtransitions 634 (bh) 634(bi) based on the resource related to the proxystep 832. According to the embodiment illustrated by FIG. 8I, thetransition 634 to the proxy step 832 is determined based on the firstelectrical step 832 which precedes the proxy step 832 and which isrelated to the same resource as the proxy step 832. Proxy step 832(b) isrelated to Resource_3. Since electrical step 632(ba) is the firstelectrical step 632 related to Resource_3 prior to the proxy step832(b), transition 634(bh) was added in order to transition fromelectrical step 632(ba) to the proxy step 832(b). If an electrical step832 having the same resource as the proxy step 832 does not precede theproxy step 832, the transition 634 may be added from the global startstep 831 to the proxy step 832.

According the embodiment illustrated by FIG. 8I, the transition 634 fromthe proxy step 832 is determined based on the first electrical step 832which follows the proxy step 832 and which is related to the sameresource as the proxy step 832. Since electrical step 632(bd) is thefirst electrical step 623 related to Resource_3, transition 634(bi) wasadded in order to transition from proxy step 832(b) to electrical step832(bd). If an electrical step 832 having the same resource does notfollow the proxy step 832, the transition 634 may be added from theproxy step 832 to the global end step 833.

In addition to the adding of transitions 634(bf) and 634(bg), transition834(bd) may be altered as described above for FIG. 8H.

It would be understood that the proxy step 832 may be modified to becoupled to an signal line as described above for electrical steps 832.

Since the proxy steps 832 are not related to a mechanical step, they arenot required by the mechanical sequence. Thus, it is possible to deletea proxy step 832. When a proxy step is deleted 832, the addedtransitions 634 are deleted. Additionally, an altered transition 634 isaltered back to the transition prior to the adding of the respectiveproxy step 832.

In some cases, electrical steps 632 which were automatically createdfrom the mechanical steps 432 are not required. For example, if theassociated mechanical step 432 is not operated via electrical signals asin the case of a chute which is operated by gravity. When the designerdetermines that the electrical step 632 is not required, the designermay deactivate the electrical step 632. Referring back to FIG. 8A,electrical step 632(ab) is transitioned to by transition 634(ab) andtransition from by transition 634(ac). FIG. 8J illustrates a deactivatedelectrical step 632(ab). The step is deactivated with the removal oftransitions 634(ab) 634(ac). A designer may reactivate the deactivatedelectrical step 632(ab). The electrical steps 634(ab) 634(ac) would beadded back.

Sequence Element Replacement

After an automation system has been modeled it may be necessary to makechanges to the model. For example, if the sequence view did not move thesecuring ends down as shown in FIG. 1B and up in FIG. 1H then thesesequences would need to be added to the mechanical model. FIG. 9Aillustrates the sequence view 420 without the sequences of FIG. 1B andFIG. 1H.

In order to alter the sequence view 420, a mechanical sequence elementmay be replaced by at least one new sequence element. FIGS. 9B-9Eillustrates how the sequence view 420 may be altered to include thesequence illustrated in FIG. 1G. First, a sequence element to replaceneeds to be identified. In order to identify the mechanical sequenceelement, the designer may place the mouse cursor on the mechanicalsequence element to be replaced and click the mouse.

Since the moving of the securing ends of FIG. 1G should follow themechanical step 432(e) which conveys the parcel, the mechanicaltransition 434(f′) would be identified to be replaced. Once the sequenceelement is identified, it may then be removed from the display of themechanical sequence flow. As shown in FIG. 9B, after the mechanicaltransition 434(f′) is identified for replacement, the mechanicaltransition 434(f′) is removed from the mechanical sequence flow.

In a preferred embodiment, the display includes a gap 940 which isinserted where the mechanical transition 434(f′) was removed. The gap940 serves as a position holder for the at least one new mechanicalelement to be added. The gap 940 may be formed starting at the startingtime of the identified mechanical sequence element and ending at a timegreater than the starting time of the gap 940.

The display of the sequence view 420, in FIG. 9C illustrates, that newmechanical transition 434(f) is added from the mechanical step 432(e) tothe down position of the securing ends. Referring to FIG. 9D, mechanicalstep 432(g) to move the securing ends is added at the end of themechanical transition 434(f). Now referring to FIG. 9E, a mechanicaltransition 434(g) is added from the mechanical step 432(g) to the upperlevel position of the lifter.

As shown in FIGS. 9C-9E, the gap 940 may be adjusted on the electronicdisplay device as replacement sequence elements 434(f), 432(g), 434(f)are added. The gap 940 may be adjusted to be after the added mechanicalstep. Additionally the ending time of the gap 940 may be increased.

Referring to FIG. 9F, once all of the replacement sequence elements434(f), 432(g), 434(f) are added 434(f), a finish replacement isselected. The designer may select to finish the replacement bycompleting the replacement or by canceling the replacement. If thefinish replacement is indicated the gap 940 is removed from the displaythereby replacing the sequence element 434(e). However, if the cancelreplacement is indicated, the mechanical sequence flow is restored tocomprise the mechanical sequence elements that existed in the mechanicalsequence flow prior to the start of the replacement. In one embodiment,it would not be possible to display the electrical model until thereplacement is finished.

In the above example, a mechanical transition was identified as thesequence element to be replaced. It would be understood that othersequence elements such as a mechanical step could be identified as thesequence element to be replaced. Furthermore, in the above example asingle sequence element is identified to be replaced. It would beunderstood that multiple sequence elements could be identified to bereplaced.

Alternative Path

An alternative path defines an alternative sequence flow that the systemmay use as an alternative to the original sequence flow. An alternativepath denotes a break in the mechanical sequence where the sequence mayuse the alternative path. By providing alternative paths, the automationsystem does not need to be reprogrammed for different situations thatmay occur. For example, in some situations, the parcel may be placedonto the surface of the apparatus. In this case there would not be aneed to convey the parcel onto the surface of the lifting apparatus.Thus, an alternative path may be added to skip the step of conveying theparcel onto the lifting apparatus. Another alternative path mayeliminate the step of moving the securing ends up prior to lowering thelifter and then eliminating the step of moving the securing ends downprior to conveying the parcel on to the surface of the liftingapparatus. It is also possible to add new steps in the alternative path.For example, a scale could be added as new resource which could have astep to weigh the parcel prior to raising the lifter. An example ofadding an alternative path to not raise the securing ends after theparcel has been placed on the lifter are illustrated.

FIG. 10A illustrates an exemplary starting points 1010 for analternative section in a sequence view of the mechanical model of thelifting apparatus of FIG. 4E. An alternative section denotes aparticular start and end point in which an alternative path may beadded. A global starting point 1010 (a) occurs prior to the sequenceflow. The exemplary illustration includes the global starting point1010(a). A local starting point occurs for each resource that changesposition at time 0. In the exemplary illustration, only the securingends change from the up position to the down position at time 0 andtherefore have a local starting point 1010(b). The starting points1010(e)-1010(i) relate to a mechanical step in which an alternativesection may occur. In the illustrated embodiment the starting points arevisually displayed in the sequence view. In the above illustration thestarting points 1010 are denoted by the symbol

. It would be understood that the starting points may be the start orend of a mechanical element and not visually displayed separately fromthe mechanical element.

The designer identifies a starting point 1010 of the alternative sectionby placing the mouse cursor on the starting point 1010 and clicking themouse. Depending on the identified starting point 1010, the endingpoints may differ.

FIG. 10B illustrates an exemplary ending points 1012 for an alternativesection in a sequence view of the mechanical model of the liftingapparatus. A global ending point 1012 occurs after the sequence flow.The exemplary illustration includes the global ending point 1012(j). Alocal ending point occurs for each resource that changes position atlast time in the sequence flow. In the exemplary illustration, only thelifter change from the upper level to the lower level at a last time inthe sequence flow and therefore has a local starting point 1012(j). Theending points 1012(a)-1012(h) relate to a mechanical step in which theend of an alternative section may occur. In the exemplary illustrationof FIG. 10B, the ending points 1012(a)-1012(h) are based on the designerhaving identified starting point 1010(c) as the start of the alternativesection. The ending points should be after the starting pint in relationto the time scale. In the illustrated embodiment the ending points arevisually displayed in the sequence view. In the above illustration thestarting points 1012 are denoted by the symbol

. It would be understood that the ending points may be the start or endof a mechanical element and not visually displayed separately from themechanical element.

Furthermore, a visual indication is preferably provided in the sequenceview shows the identified starting point 1010. FIG. 10B shows thevisualization of the starting point 1014 as a line which extendsvertically from the time scale through a start or end of the mechanicalelement at the beginning of the alternative section. In FIG. 10B theline shows that the starting point is at the end of mechanical step432(a).

The designer identifies an ending point 1012 of the alternative sectionby placing the mouse cursor on the starting point 1012 and clicking themouse. For purpose of example, the ending point 1012(f) is identified.Thus, in the above example, the alternative section is from startingpoint 1010(c) to ending point 1012(f). One or more alternative paths maybe provided within the alternative section.

Once the ending point 1012 is identified a new path may be automaticallycreated. However, it may be that a new path is explicated created by thedesigner. FIG. 10C illustrates an exemplary GUI tool 405(d) used tocreate a new path in the alternative section. AlternativeSection_1 1030is the name the alternative section from starting point 1010(c) toending point 1012(f). Path_1_1 1032(a) is the name of the originallydefined path in the section. That is the mechanical elements from thestarting point to the ending point. According to FIG. 10B the originallydefined path is defined by mechanical elements 434(a), 432(b), 434(b),432(c), 414(c), 432(d), 434(d), 432(e) and 434(e) The option Create NewPath 1034 is identified to create a new path. Preferably the path names1032 and alternative section names may be altered.

FIG. 10D illustrates a display of an exemplary creation of a new path inthe alternative section in a preferred embodiment, the display includesa gap 1040. The gap 1040 serves as a position holder for the at leastone new mechanical element to be added for the new path. The gap 1040may be formed starting at time of the identified starting point andending at a time greater than the starting time of the gap 1040.Preferably the ending is at a time of the identified ending point. FIG.10 D illustrates the gap being formed from the end of mechanical step432(a) to the beginning of mechanical step 432(f).

FIG. 10H illustrates that new mechanical elements have been added to thenew path. In particular, transition 434(m) is added from the mechanicalstep 432(a) for moving the securing ends down to added mechanical step432(m) for conveying the parcel. Transition 434(n) is added from addedmechanical step 432(m) to added mechanical step 423(0) for lifting thelifter.

As shown in FIGS. 10D-10H, the gap 1040 may be adjusted on theelectronic display device as mechanical elements are added to the newpath. For example, the gap 1040 may be adjusted to be after the adding amechanical element. Additionally the ending time of the gap 940 may beincreased as mechanical elements are added. However, in one embodimentthe beginning time of the gap 1040 is static.

Referring to FIG. 10I, once all of the mechanical elements of the newpath are added, a finish path create is selected. The designer mayselect to finish the path create by completing the new path or bycanceling the new path. If the cancel is indicated, the added mechanicalsteps are removed. Several embodiments of indicating to complete thecreated path are described.

In one embodiment, the gap 1040 is removed from the display, when thecomplete is indicated. In addition, it may be necessary after thecomplete to add a mechanical transition from end of the last mechanicalelement of the new path to the beginning of the mechanical step afterthe new path. Referring to FIG. 10I, the transition 434(o) is added fromthe last mechanical element of the new path 432(o) to the mechanicalstep 432(f). In a preferred embodiment the transition is automaticallyadded. In one embodiment, it would not be possible to display theelectrical model until the replacement is finished.

Furthermore, validity checks ma be performed when the complete isindicated. The new path should not added if the validity check indicatesan invalid situation. In one embodiment an error is displayed to informthe designer of invalid situation. Validity checks may include checkingthat the ending position of a resource in the new path matches thestarting position of the resource after the alternative section.

FIG. 10G illustrates a invalid situation for a new path. The securingends move down at mechanical step 432(a) prior to the new path. The newpath includes the mechanical step 432(q) to move the securing ends up.However, the securing ends are in a down position after the alternativesection. Thus, the ending position of the securing ends is different anddoes not match the starting position of the resource after thealternative section.

For any given alternative section there may be multiple paths as shownin FIG. 10H. A path may span across multiple resources or a singleresource. In a preferred embodiment, as illustrated, only one path isdisplayed at a time. In the illustration the new path that was addedabove has the name Path_1_2 and is currently being displayed. The GUItool 605(d′) may be used to select the path to be displayed in additionto creating a new path in the alternative sequence. Thus the designermay switch the display between a currently displayed path to a differentpath.

In addition, within any given alternative section there may be multiplealternative sections. It would be understood that the electrical modelmay be altered for each path according to the methods described above.In a preferred embodiment, of the electrical model, only one path isdisplayed at a time. Furthermore, in one embodiment the signalsdifferentiate the different paths such that the PLC recognizes whichpath to execute.

Dynamic Views

It would be appreciated that the modeling of the automation system maybe complex. Therefore, it may be desirable to scale the modeling intosmaller portions. Thus, each of the smaller portions would then be lesscomplex than the whole. The modeling tool facilitates this with the useof sequence descriptions 442 as shown in FIG. 4C.

In the previous illustrations, the modeling of the automation system hasbeen described in terms of a single sequence description 442. However,the use of multiple sequence descriptions 442 allows the modeling to beseparated in terms of one or more resources. Thus, the modeling would beless complex for the designer. Furthermore, this facilitates multipledesigners working on the same automation system but havingresponsibility of one or more sequence descriptions 442.

FIGS. 11A-11E illustrates the display of sequence descriptions 442 byusing the previously modeled lifting apparatus in 4E and 6A-6H. Moreparticularly, FIG. 11A illustrates an exemplary first sequencedescription 442(a) according to a display of the mechanical model. Firstsequence description 442(a) includes a header 438(a) having the name“Sequence Description 1”. Additionally, first sequence description442(a) includes the lifter having the positions 418 and actions 416 asdescribed in FIG. 4. Since the first sequence description 442(a) onlypertains to the lifter, the designer only describes the sequence flow interms of the lifter. As previously shown in FIG. 4E the lifter only hasa mechanical step 432(d) showing the lifter raising from the lower levelto the upper level and mechanical step 432(h) showing the lifter beinglowered from the upper level to the lower level.

FIG. 11B illustrates an exemplary first sequence description 642(a)according a display of to the electrical model of FIG. 11A. Firstsequence description 642(a) includes a header 638(a) having the name“Sequence Description 1”. Additionally, the first sequence description642(a) includes the lifter having the positions 618, actions 616 andsignal in 616 as described in FIGS. 6A-6G. Electrical steps 632(d)632(h) and signal pulses 650(a) 650(b) are shown.

FIG. 11C illustrates an exemplary second sequence description 442(b)according to a display of the mechanical model. The second sequencedescription 442(b) includes a header 438(b) having the name “SequenceDescription 2”. Additionally, the second sequence description 442(b)includes the securing ends and rollers having the positions 418 andactions 416 as described in FIG. 4. Since the second sequencedescription 442(b) pertains to the securing ends and the rollers, thedesigner describes the sequence flow in terms of both the securing endsand the rollers as well as the transitions between the securing ends andthe rollers. As previously shown in FIG. 4E the securing end move upfrom the down position via mechanical steps 432(a), 432(e) and move downfrom the up position via mechanical steps 432(c), 432(g). The conditionfor the rollers change from false to true via mechanical steps 432(b),432(f) which convey the parcel. Also described in the second sequencedescription 442(b) are the mechanical transitions 434(a), 434(b),434(e), 434(f) between the securing ends and the rollers and waitingstates 436(c), 436(e), 436(g) 436(h), 436(i).

FIG. 11D illustrates an exemplary second exemplary sequence description642(b) according to a display of the electrical model of FIG. 11C.Second sequence description 642(b) includes a header 638(b) having thename “Sequence Description 2”. Additionally, the second sequencedescription 642(b) includes the securing ends and rollers having thepositions 618, actions 616 and signal in 616 as described in FIGS.6A-6G. Electrical steps 632(d) 632(h) and signal pulses 650(a) 650(b)are shown.

In a preferred embodiment, each of the sequence descriptions 442 are inseparate XML files. For the above example, the first sequencedescription 442(a) is in a first XML file and the second sequencedescription 442(b) is in a second XML file. The combination of the firstand second sequence descriptions 442(a), 442(b) as shown in FIGS.11A-11D does not completely describe the mechanical operations of theautomation device as shown by 4E. For example, transitions between thelifter and the securing ends are not provided.

Transitions between steps of resources of one sequence description to astep in different sequence description are external transitions. To adda transition a beginning or ending of a mechanical step 432 isidentified in one of the sequence descriptions 442 as an externaltransition out. Likewise, a beginning or ending of a mechanical step 432is identified in a different sequence description as an externaltransition in. Preferably a GUI tool is provided for the designer todifferentiate between the type (in, out) of external transition beingadded.

FIG. 11E illustrates the exemplary sequence view 420 of FIG. 11A wherean external transition in 1110 has been added to the beginning ofmechanical step 432(d). A visual representation of the externaltransition in 1110 may be provided. In the illustration, the arrowpointing towards the beginning of the mechanical step 432(d) visuallyrepresents the external transition in 1110.

FIG. 11F illustrates the exemplary sequence view 420 of FIG. 11A wherean external transition out 1112 has been added to the ending ofmechanical step 432(d). A visual representation of the externaltransition out 1112 may be provided. The arrow pointing away from theending of the mechanical step 432(c) visually represents the externaltransition out 1112.

At some point the external transition in 1110 and an external transitionout 1112 must be linked together. The reference that provides a linkfrom one sequence description to a different sequence description isreferred to as an external link. In one embodiment, the user isprompted, during or after the creation of the external transition in1110, for information regarding the sequence description of theexternal, transition out 1112. In another embodiment, the user isprompted, during or after the creation of the external transition out1112, for information regarding the sequence description of the externaltransition in 1110. Other embodiments are described below. Theinformation regarding the sequence description is any information touniquely identify the sequence description. For example, the XML filepertaining to the sequence description or the name of the sequencedescription.

When the external transition in 1110 in is linked with the externaltransition out 1112, the respective sequence descriptions are altered toinclude the external links. It particular, the respective XML files arealtered to include the external links. FIG. G illustrates an externallink between the first XML file 1120(a) of the first sequencedescription and the second XML file 1120(b) of the second sequencedescription. According to the illustration of FIG. G, the externaltransition in 1110 of step 432(a) in a first XML file 1120(a) has areference to the step 432(c) of the second XML file 1120(b) FIG. Gfurther illustrates that the external transition out 1112 of step 432(c)of the second XML file 1120(b) has a reference to the step 432(a) of thefirst XML file 1120(a).

The above examples illustrate embodiments of working with the sequencedescriptions independently of each other. However, the designer mayindicate one or more sequence descriptions to be displayed on theelectronic display as a single display. The display of the modeltherefore dynamically based on what the designer wants to display.

Various embodiments and/or GUI tools 405 may be used for a designer toselect the sequence descriptions to be displayed. In one embodiment, thesequence descriptions 442 are displayed by opening each of the XML filesin the mechanical model or electrical. This may be done, for example,via a GUI tool 405, such as a file open or a manage references inanother embodiment, the different XML file is opened and displayed whenadding the external transition in or external transition out asdescribed above.

It would be understood that the designer may also alter the display toreduce the number of sequence descriptions on a single display. Forexample, the designer may close an open sequence. Preferably, a sequencedescription which remains open and includes an external transition tothe sequence description which was closed would include a visualrepresentation of the external transition, such as in FIGS. 11E and 11F.In another embodiment all of the external transitions are deletedbetween the closed sequence description and the sequence descriptionthat remains open.

FIG. 11H illustrates an exemplary single display with the sequence flowsfor the first 442(a) and second 442(b) sequence descriptions accordingto a mechanical model. FIG. 11H shows the first 442(a) and second 442(b)sequence descriptions prior to adding an external transition. Theexternal transition may be added in a similar fashion as described abovefor FIG. 11E and FIG. 11F.

FIG. 11I illustrates an exemplary display after external transition out1112 has been added the end of mechanical step 432(c). FIG. 11Jillustrates a display after external transition in has been added to thebeginning of mechanical step 432(d). As shown an external transition1120 is now visually displayed between the mechanical step 432(d) of thefirst sequence description 442(a) and the mechanical step 432(a) of thesecond sequence description 442(b). In addition, a waiting step 436(a)was added. Since the sequence descriptions involved in the externaltransition are both concurrently displayed, the modeling tool may derivethe linkage between the sequence descriptions without an additionalprompt. Furthermore, with the sequence descriptions involved in theexternal transition are both concurrently displayed it may betransparent to the designer that an external transition is being added.Therefore, it may be desirable that the external transition is added asdescribed for the transitions in FIG. 4E.

The external transitions are described above in reference to themechanical view. It would be understood that the external transitionscould also be added similarly in the electrical view. Furthermore, theabove disclosure for the dynamic views has been described in terms of anexternal link being for an external transition. It would be understoodthat an external link may used when any object of one sequencedescription interfaces with a sequence description of a differentsequence description. For example, an external link may be used for acondition for an electrical transition or for an electrical step to asignal.

FIG. 11K illustrates an exemplary single display with the sequence flowsfor the first 642(a) and second 642(b) sequence descriptions accordingto a display of an electrical model of FIG. 11J. FIG. 11L illustrates anthe exemplary sequence view 620 of FIG. 11K where a condition transitionin 1110 has been added to the beginning of mechanical step 432(b). FIG.11L illustrates an the exemplary sequence view 620 of FIG. 11K where acondition 1110 has been added to the beginning of electrical transition634(b). FIG. 11M illustrates an the exemplary sequence view 620 of FIG.11K where a condition transition in 1115 has output has been added toelectrical step.

The above disclosure describes an external link being altered whenexternal transitions and other objects are added. It would be understoodthat the transitions and other objects may be altered, thereby alteringthe external link.

Split and Merge

As previously noted, the modeling of the automation system may becomplex. Along with this the runtime software produced for the PLC maybe complex. This may be the result of factors such as numerousresources, parallel operations, and alternative paths as describedabove. Therefore, it may be desirable to produce split the runtimesoftware of the automation system into smaller portions. Each portionbeing a subset of the runtime software for the automation system andexecutes on a separate PLC.

Advantages may be realized from the smaller portions. For example, thePLC programming may be less complex. Furthermore, a less expensive PLCmight be used since a reduction of Input/Output (I/O) would occur withsmaller portions.

Thus, by splitting the runtime software into smaller portions, each PLCmay be responsible for controlling one or more resource. However, thedetermination of how to split up the software may not be initially knownduring the modeling phase. Moreover, it would be desirable the splittingbe adaptable after the modeling phase. Preferably, one or more resourcesmay be selected for each runtime software.

FIG. 12A illustrates an exemplary GUI tool 605(k) to split theprogramming of the automation system of FIG. 6 into a plurality ofsequences. Each sequence producing a runtime software. Via the GUI tool605(k) sequences may be altered. As shown in the illustration, a singlesequence 1210(a) the name Sequence1 is provided. Preferably the name ofthe sequence may be altered by the designer. In the illustrated example,Sequence 1 includes the lifter, the securing ends and the rollerresources. Thus, a single runtime software is produced to be executed ona single PLC. The single runtime software responsible for the lifter,securing ends and the roller resources.

FIG. 12B illustrates splitting the programming of the automation systemsuch that each sequence includes only one resource. GUI tool 605(k)shows 1210(b), 1210(c), 1210(d) each with a single resource. Thesplitting may be done, for example, via a GUI tool option such as thebutton 1212 which automatically splits all the resources into a separatesequence. In another embodiment the splitting is done by a useridentifying the resource from Sequence1 to be split to a differentsequence. The identification may be done, for example, by placing acursor over the identified resource and clicking and/or clicking anddragging the identified resource to the different sequence. If thedifferent sequence does not exist, then it is created. Likewise, if thelast resource is split for a sequence, the sequence is removed. FIG. 12Cillustrates a further splitting of the programming of the automationsystem with sequences 1210(e) 1210(f). The above examples show how aresource may be split from a sequence to a different sequence.

Furthermore, all the resources may be merged back into a single sequenceor back into a sequence the resource was split from. The merge may bedone, for example via a GUI tool option such as the button 1214 whichautomatically merges all the resources into a single sequence. Inanother embodiment, the merge is done a user identifying the resource tobe merged. The identification may be done, for example, by placing acursor over the identified resource and clicking and/or clicking anddragging the identified resource to the different sequence.

In a preferred embodiment, the sequence view of the electrical model isautomatically altered to reflect the splitting of the programming. FIG.12D illustrates an exemplary sequence view 1320 of the electrical modelaccording to a single sequence 1330(a) of FIG. 12A. A runtime softwaremay be produced from the single sequence 1330 which would control thelifter, securing ends and rollers. FIG. 12E illustrates an exemplarysequence view 1320 of the electrical model according including sequences1330(b) 1330(c) 1330(d) of FIG. 12B. Thus, three separate runtimesoftware may be produced, one to control the lifter, one to control thesecuring ends and one to control the rollers. FIG. 12F illustrates anexemplary sequence view 1320 of the electrical model according includingsequences 1330(e) 1330(f) of FIG. 12C. Thus, two separate runtimesoftware may be produced, one to control the lifter, and one to controlthe securing ends and the rollers.

Although the above illustrations are shown using the electrical model,it would be understood that the splitting and merging of resources intosequences may be done in the mechanical model.

Monitoring Via the Visual Model

After a PLC of the automation system has loaded with the PLC runtimesoftware the automation system may be monitored. Advantageously, themonitoring is via the electrical sequence flow used to create the PLCruntime software. A further advantage is that the monitoring may be donewhile the automation system is online and not just as a debugging tool.For this purpose, it is possible the monitoring is done remotely fromthe automation system.

For simplicity, the exemplary automation system to be monitored asdescribed below has a single PLC. It would be understood that anautomation system having multiple PLCs may monitored using the sameprinciples. Furthermore, for simplicity, the electrical sequence flow asdescribed below does not have alternative paths. It would be understoodthat an electrical sequence flow having multiple may used to monitor theautomation system with the same principles as described below.

FIG. 13A illustrates exemplary embodiments of a computing device 310that may monitor the PLC. The same computing device 310(a) used to modelthe automation system and to create PLC runtime software may be used tomonitor the PLC. Other configurations to monitor the automation systeminclude a different computing device 310(b) connected over the network305(a), a computing device 310(b) connected over a different network305(b) and a computing device 310(d) physically coupled to PLC 360directly or couple indirectly such as through a backplane. The computingdevice 310 used to monitor the PLC includes information used to modelthe automation system. For example, the XML file 382 and/or the PLCruntime software 382 may be included on the computing device 310 used tomonitor the PLC.

While the PLC executes, PLC runtime information is received effective tomap the PLC execution to where the execution is occurring in the visualmodel of the electrical sequence flow. The PLC runtime information isreceived during a real time of the operation of the automation system.FIG. 13B illustrates an exemplary computing device 310 that receives PLCruntime information. The PLC runtime information may include an inputsignal 1315(a) and/or output signal 1315(b) and or current active step1318 information regarding the PLC runtime software. It should be notedthat the current active step of the PLC does not necessarily corresponddirectly to an electrical step. In contrast, the current active step ofthe PLC step corresponds to the PLC runtime software and relates to thecurrent execution state of the PLC.

In addition, a data adapter device 1310 may be required in order totranslate the PLC runtime information to information corresponding tothe electrical sequence flow. The data adapter device 1310 may interfacedirectly or indirectly to both the PLC 360 and to the computing device310. Software may be included in the data adapter device 1310 tofacilitate the translation. In one embodiment, the data adapter 1310 maybe able to translate a plurality of PLC target types. In anotherembodiment the data adapter 1310 translates only one specific PLC targettype. It is also possible that a data adapter 1310 be specific to asimulation PLC.

It would be understood that the functionality of the data adapter device1301 may be provided directly by the computing device 310, thus,removing the need for a separate data adapter device 1301. Thefunctionality could be provided by the computing device 1310 viasoftware, hardware or combinations thereof.

FIG. 13C, illustrates an exemplary monitoring of an automation system.The automation system being monitored is the exemplary lifting apparatushaving the sequence view 1320 of the electrical model from FIG. 6G. Avisual representation 1325 of the current execution state of the PLC isprovided.

In the illustration, the visual representation is a line 1325(a) whichextends perpendicularly from the time scale across at least a portion ofthe electrical sequence flow represented by the graphical view 1630. Theline 1325(a) moves in a right angle to the time scale 622 in a directionof increasing time of the time scale. The line 1325 visually representsvia the electrical sequence flow the current execution state of the PLC.To the right of the line is what is yet to be executed and the left iswhat has been executed. At the last transition 660(g) the line 1325would start back at time 0 and execution would start.

Where the line 1325(a) intersects an electrical element denotes thecurrent execution state of the PLC. In the illustration, line 1325(a)intersects with the electrical step 632(a) which visually represents thecurrent active step of the PLC. Signal markers 1326 may also be providedto indicate a current signal value on the signal line.

FIG. 13D illustrates the exemplary monitoring of the automation systemof FIG. 13C at a later time. According to the illustration, the line1325(b) is at the end of electrical step 632(e), which visuallyrepresent that the PLC has finished a step corresponding, to electricalstep 632(a) and will be transitioning to a new step.

Although a visual representation is illustrated as a narrow line itwould be understood other means such as an execution band 1327(b) asshown in FIG. 13E could be used. The band execution band 1327(b)represents a region of the PLC execution. Other visualization methodsmay be incorporated such as changing the color or brightness of theelectrical element, signal line, and/or conditions which visuallyrepresents the execution of the PLC. This may be especially useful todenote an alternative path. Furthermore, a condition that is fulfilledmay be represented in a different manner than a condition that is notfulfilled.

FIG. 13F illustrates a model with an electrical transition 660 multipleconditions. The signal line 650(c) corresponds to the securing_ends_downinput signal, and the signal line 650(d) corresponds to thesecuring_ends_up input signal. A signal line 650(e) corresponds to ainput signal that represents when a parcel is on the surface of thelifting apparatus. In the exemplary illustration, electrical transition632(d′) is based on condition 660(i) and condition 660(c). It ispossible that a condition 660 is not fulfilled. For example, the parcelmay not be on the surface of the lifting apparatus in which casecondition 660(i) is not fulfilled. Assuming that condition 660(c) isfulfilled, the display for the conditions would have to different. Forexample, different colors.

For the example of 13F, the transition 632(d′) cannot occur since allthe conditions 660 were not fulfilled. In which case, a transition fromelectrical step 632(c) cannot occur. In which case a transition to anerror state may occur based on the attributes of the current electricalstep 632(c). It may be desirable to have in the monitoring display avisual representation of the timing attributes of the current electricalstep.

FIG. 13G illustrates a representation of the time attributes for anelectrical step 632 as a duration of time. The time attributesillustrated are a waiting time 1332 and watchdog timer 1334 of anelectrical step 632 over a time scale 1322. A visual representation ofthe current execution state of the PLC is displayed via line 1325.According the illustration, the waiting time 1332 has exceeded but notthe watchdog timer 1334. After the watchdog timer 1334 is exceeded, atransition would occur to the error state 1336.

It may be desirable to control the monitoring automation system. Forthis purpose one or more control buttons 1340 may be added. For example,a play button 1340(a) and/or pause button 1340(b) and/or a stop button1340(c) may be added. The monitoring user may select one of the buttons1340 to control the monitoring. A play button 1340(a) may be selected tostart or resume monitoring when monitoring is stopped. A pause button1340(b) may be selected to temporarily pause monitoring and the stopbutton 1340(c) may be selected to stop the monitoring. The stop button1340(c) may act similarly to the pause button 1340(a) or it may resetmonitoring to start at the beginning with a time 0.

The control of the monitoring may or may not have an effect on the PLC.That is, selecting the pause button 1340(b) will pause the monitoringbut the automation PLC may still keep running. When this is the case andthe play button 1340(a) is selected to resume monitoring, the automationsystem may not be at the same point as when the pause button 1340(b) wasselected. At this point, the visual representation has to adjust to thecurrent execution which could cause a jump in the visual representation.For example, the line 1325 may be at a time 2 when the pause button1340(b) was selected and jump to a time of 35 when the play button1340(a) is selected. A similar situation exists when the stop button1340(c) is selected. The stop button 1340(b) may not stop the PLCexecution.

Depending on the PLC target type, it may however be possible to controlat least a portion of the execution of the PLC. In this case the pausebutton 1340(b) may stop execution of the PLC and allow it to resumewhere it stopped when the play button 1340(b) is selected. Likewise, thestop button 1340(b) may reset the PLC to start at a time 0. This mayalso include reinitializing PLC data.

A record and playback functionality may also be provided. A recordbutton 1340(d) may be provided to record the execution of the automationsystem. The recorded execution could be played back at a latter time toallow the designer or other user to do error analysis even if thesequence is executed in a very small timeframes or very complex. Thismay allow for improved timing control of the automation system. In thiscase the monitoring of the playback would not be in real time. The playback may be, for example, via the play button 1330(a) or a furtherdefined button.

While the invention has been described in terms of a certain preferredembodiment and suggested possible modifications thereto, otherembodiments and modifications apparent to those of ordinary skill in theart are also within the scope of this invention without departure fromthe spirit and scope of this invention. Thus, the scope of the inventionshould be determined based upon the appended claims and their legalequivalents, rather than the specific embodiments described above.

1. A method for defining a dynamic view in a modeling of an automationsystem via a modeling tool, comprising: displaying a first sequencedescription of a model of the automation system, the first sequencedescription including a first sequence flow, the first sequencedescription contained in a first file; displaying a second sequencedescription of the model of the automation system, the second sequencedescription including a second sequence flow of the automation system,the second sequence description contained in a second file; identifyinga first object from the displayed first sequence flow; identifying asecond object from the displayed second sequence flow; linking the firstsequence description to the second sequence description via a firstexternal link in the first file, the linking after the identifying thesecond object; and linking the second sequence description to the firstsequence description via a second external link in the second file, thelinking after the identifying the first object, wherein the displayingthe model is on an electronic display device.
 2. The method as claimedin claim 1, wherein the first and second sequence flows are mechanicalsequence flows each having a plurality of mechanical steps.
 3. Themethod as claimed in claim 2, wherein the identified first object is abeginning of one of the plurality of mechanical steps in the firstsequence flow or an ending of one of the plurality of mechanical stepsin the first sequence flow, and the identified second object is abeginning of one of the plurality of mechanical steps in the secondsequence flow or an ending of one of the plurality of mechanical stepsin the second sequence flow.
 4. The method as claimed in claim 3,wherein the identified first object is identified as an externaltransition in and the identified second object is identified as anexternal transition out such that an external transition is added fromthe identified first object to the identified second object.
 5. Themethod as claimed in claim 4, further comprising: visually representingat least the external transition in or external transition out on thedisplay.
 6. The method as claimed in claim
 1. Wherein the first andsecond sequence flows are electrical sequence flows each having aplurality of electrical steps.
 7. The method as claimed in claim 6,wherein the first object is a beginning of one of the plurality ofelectrical steps in the first sequence flow or an ending of one of theplurality of electrical, steps in the first sequence flow, and theidentified second object is a beginning of one of the plurality ofelectrical steps in the second sequence flow or an ending of one of theplurality of electrical steps in the second sequence flow.
 8. The methodas claimed in claim 7, further comprising: adding an external transitionbetween the identified first object and the identified second object. 9.The method as claimed in claim 6, wherein the first object is a one ofthe plurality of electrical steps, and the identified second object iselectrical signal line.
 10. The method as claimed in claim 6, whereinthe first object is an electrical transition starting from the firstsequence flow, and the identified second object is electrical signalline, and adding a condition for the electrical transition.
 11. Themethod as claimed in claim 1, wherein the displays are not concurrent.12. The method as claimed in claim 1, wherein the displays areconcurrent.
 13. The method as claimed in claim further comprisingproviding a visual representation of the external links.
 14. The methodas claimed in claim 13, wherein the visual representation of theexternal links is an external transition, a condition, an input signalor an output signal.
 15. The method as claimed in claim 13, wherein: thevisual representation includes a line drawn from the identified firstobject to the identified second object.
 16. The method as claimed inclaim 1, further comprising: providing a user interface effective toreceive input from a user, wherein the identifying the first objectincludes receiving input from the user which indicates the first object,and the identifying the second object includes receiving input from theuser which indicates the second object.
 17. The method as claimed inclaim 16, wherein the receiving input from the user is a result of theuser placing a cursor pointer over the identified object and clicking amouse or the user pressing a predefined keyboard key or the usertouching the identified object.
 18. The method as claimed in claim 1,wherein code for a programmable logic controller is produced from themodel.
 19. A computer-usable medium including computer readableinstructions stored thereon for execution by a processor to perform amethod for defining a dynamic view in a modeling of an automation systemvia a modeling tool, the method comprising: displaying a first sequencedescription of a model of the automation system, the first sequencedescription including a first sequence flow, the first, sequencedescription contained in a first file; displaying a second sequencedescription of the model of the automation system, the second sequencedescription including a second sequence flow of the automation systemthe second sequence description contained in a second file; identifyinga first object from the displayed first sequence flow; identifying asecond object from the displayed second sequence flow; linking the firstsequence description to the second sequence description via a firstexternal link in the first file, the linking after the identifying thesecond object, and linking the second sequence description to the firstsequence description via a second external link in the second file, thelinking after the identifying the first object, wherein the displayingthe model is on an electronic display device.